跳到主要内容

1.并发不是并行

并发不是并行性

大多数人都知道 Go 的一件事,那就是它是为并发而设计的一门语言。一门讲解go语言的课程如果没有讲解 Goroutine 和 Channel,那这门课一定是不完整的。

但是,当人们听到并发这个词时,他们通常会想到并行性,这是一个相关但非常独特的概念。在编程中,并发性是独立执行的进程的组合,而并行性是(可能相关的)计算的同时执行。并发是关于同时处理很多事情。并行性是一次做很多事情。

为了澄清这种混为一谈,Rob Pike在Heroku的Waza会议上做了一个演讲,题为“并发不是并行”,几个月前发布了演讲的视频记录。

幻灯片可在 go.dev/talks 使用(使用向左和向右箭头键进行导航)。

要了解 Go 的并发原语,请观看 Go 并发模式(幻灯片)。